home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / pascal / o_gem / doku / source / kleines2.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1994-09-22  |  2.8 KB  |  116 lines

  1. PROGRAM Kleines;
  2.  
  3. USES
  4.     Gem,OWindows,OTypes,ODialogs;
  5.     
  6. {$I KLEINES.I}
  7.     
  8. TYPE
  9.     TMyApplication =    OBJECT(TApplication)
  10.                             PROCEDURE InitInstance; VIRTUAL;
  11.                             PROCEDURE InitMainWindow; VIRTUAL;
  12.                         END;
  13.                         
  14.     PInfoMenu =    ^TInfoMenu;
  15.     TInfoMenu =    OBJECT(TKeyMenu)
  16.                     PROCEDURE Work; VIRTUAL;
  17.                 END;
  18.                 
  19.     POpenDialog =    ^TOpenDialog;
  20.     TOpenDialog =    OBJECT(TKeyMenu)
  21.                         PROCEDURE Work; VIRTUAL;
  22.                     END;
  23.                                     
  24.     PMyDialog =    ^TMyDialog;
  25.     TMyDialog =    OBJECT(TDialog)
  26.                     FUNCTION Ok : BOOLEAN; VIRTUAL;
  27.                     FUNCTION Cancel : BOOLEAN; VIRTUAL;
  28.                 END;
  29.     
  30. VAR
  31.     MyApplication : TMyApplication;
  32.     Buffer :    RECORD
  33.                     Kette : STRING[21];
  34.                     O1,O2 : INTEGER;
  35.                 END;
  36.  
  37. PROCEDURE TMyApplication.InitInstance;
  38. BEGIN
  39.     LoadResource('KLEINES.RSC','');
  40.     LoadMenu(main_menu);
  41.     NEW(PInfoMenu,Init(@SELF,K_Ctrl,Ctrl_I,menu_info,desk_menu));
  42.     NEW(POpenDialog,Init(@SELF,K_Ctrl,Ctrl_D,menu_open_dialog,file_menu));
  43.     INHERITED InitInstance;
  44.     SetQuit(menu_quit,file_menu);
  45. END;
  46.  
  47. PROCEDURE TMyApplication.InitMainWindow;
  48. BEGIN
  49. END;
  50.  
  51. PROCEDURE TInfoMenu.Work;
  52. BEGIN
  53.     IF ADialog = NIL THEN
  54.     BEGIN
  55.         NEW(ADialog,Init(NIL,'Über KLEINES',info_dial));
  56.     END;
  57.     IF ADialog <> NIL THEN
  58.         ADialog^.MakeWindow;
  59. END;
  60.  
  61. PROCEDURE TOpenDialog.Work;
  62.     BEGIN
  63.     IF ADialog = NIL THEN
  64.     BEGIN
  65.         ADialog := NEW(PMyDialog,Init(NIL,'KLEINES Übungsprogramm',main_dial));
  66.         IF ADialog <> NIL THEN
  67.         BEGIN
  68.             NEW(PButton,Init(ADialog,md_ok,id_ok,TRUE,'Zeigt Eingaben in einer Alertbox an und beendet das Programm.'));
  69.             NEW(PButton,Init(ADialog,md_cancel,id_cancel,TRUE,'Beendet Programm, ohne Daten Anzuzeigen.'));
  70.             NEW(PEdit,Init(ADialog,md_edit,21,'Hier kann Text eingegeben werden.'));
  71.             NEW(PGroupBox,Init(ADialog,md_option_box,'Optionen','In dieser Box befinden sich zwei RadioButtons'));
  72.             NEW(PRadioButton,Init(ADialog,md_option1,TRUE,'Die erste Option'));
  73.             NEW(PRadioButton,Init(ADialog,md_option2,TRUE,'Die zweite Option'));
  74.             ADialog^.TransferBuffer := @Buffer;
  75.         END;
  76.     END;
  77.     IF ADialog <> NIL THEN
  78.         ADialog^.MakeWindow;
  79. END;
  80.  
  81. FUNCTION TMyDialog.Ok : BOOLEAN;
  82. VAR
  83.     Valid : BOOLEAN;
  84.     Ausgabe : STRING;
  85. BEGIN
  86.     Valid := INHERITED Ok;
  87.     IF Valid = TRUE THEN
  88.     BEGIN
  89.         Ausgabe := 'In die Editzeile wurde "'+Buffer.Kette+'" eingegeben. Es wurde der Radiobutton "';
  90.         IF Buffer.O1 = bf_checked THEN 
  91.             Ausgabe := Ausgabe+'1'
  92.         ELSE
  93.             Ausgabe := Ausgabe+'2';
  94.         Ausgabe := Ausgabe+'. Option" ausgewählt.';
  95.         Application^.Alert(NIL,1,0,Ausgabe,'&Ok');
  96.         Ok := TRUE;
  97.     END
  98.     ELSE
  99.         Ok := FALSE;
  100. END;
  101.  
  102. FUNCTION TMyDialog.Cancel : BOOLEAN;
  103. BEGIN
  104.     IF Application^.Alert(NIL,2,2,'Wirklich Beenden?','&Abbruch|&Ok') = 2 THEN
  105.     BEGIN
  106.         Cancel := TRUE;
  107.     END
  108.     ELSE
  109.         Cancel := FALSE;
  110. END;
  111.  
  112. BEGIN
  113.     MyApplication.Init('KLNS','Kleines');
  114.     MyApplication.Run;
  115.     MyApplication.Done;
  116. END.